package thread02;

/**
 * 自定义线程(类似于自定义异常)
 * 自定义异常思想:
 *     class AgeException extends Exception{//此时AgeException成为异常的一种
 *
 *  }
 *  同理:
 *      class 类名 extends Thread{//该类成为一个线程
 *
 *      }
 *      通过执行结果的分析发现,每次运行的自行顺序都不一样
 *      因为CPU是在不同线程之间来回切换(调度),例如在main和Thread01线程之间来回切换
 *      但是最终每个线程的任务都会被执行完毕
 *
 */

public class ThreadDemo01 {
    public static void main(String[] args) {
        //创建线程对象
        Thread01 t1 = new Thread01();
        //t1.run();相当于面向对象的调用方法,跟创建线程跟执行线程并没有关系
        t1.start();//启动该线程
        //t1.start();//IllegalThreadStateException(无效的线程状态异常),每个线程只能启动一次

        //该循环在main中
        for (int i = 0; i < 10; i++) {
            System.out.println("main..." + i);
        }
    }
}
